package com.fsp.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.ArrayList;
import java.util.List;

/**
 * @author fushengping
 * @className Superman
 * @description
 * @date 2021/11/30 9:24
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "t_superman")
public class Superman {
    /*
      * name：前端展示时，显示当前节点的名称
        isParent：当前节点下面有没有孩子
        open：前端根据它确定是否要展开显示

        为了给上面的字段分类，新创了两个名词：
        ● 结构字段：pid、id
        ● 业务字段：name、isParent、open
    * */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY) //自增id
    private Integer id;
    private String name;//展开时的节点名称
    private Integer pid;
    private Boolean open; //前端根据它，确定是否要展开显示
//    private String isParent;//判断当前节点是否存在子节点

    //存放子节点
    // 前端JS对象的children数组(对应List)里存的还是JS对象（对应Superman），所以是List<Superman>
    private List<Superman> children = new ArrayList<>();
}
